<?php
class FirstDumpDatabase extends CakeMigration {

/**
 * Migration description
 *
 * @var string
 * @access public
 */
	public $description = '';

/**
 * Actions to be performed
 *
 * @var array $migration
 * @access public
 */
	public $migration = array(
		'up' => array(
			'create_table' => array(
				'acos' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'parent_id' => array('type' => 'integer', 'null' => true),
					'model' => array('type' => 'text', 'null' => true),
					'foreign_key' => array('type' => 'integer', 'null' => true),
					'alias' => array('type' => 'text', 'null' => true),
					'lft' => array('type' => 'integer', 'null' => true),
					'rght' => array('type' => 'integer', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'aros' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'parent_id' => array('type' => 'integer', 'null' => true),
					'model' => array('type' => 'text', 'null' => true),
					'foreign_key' => array('type' => 'integer', 'null' => true),
					'alias' => array('type' => 'text', 'null' => true),
					'lft' => array('type' => 'integer', 'null' => true),
					'rght' => array('type' => 'integer', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'aros_acos' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'aro_id' => array('type' => 'integer', 'null' => false),
					'aco_id' => array('type' => 'integer', 'null' => false),
					'_create' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
					'_read' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
					'_update' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
					'_delete' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'bem_patrimonials' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => 'nextval((\'"public"."bem_patrimonials_id_seq"\'', 'length' => 11, 'key' => 'primary'),
					'numero_bem' => array('type' => 'integer', 'null' => true),
					'descr_bem' => array('type' => 'text', 'null' => true),
					'caracteristica_bem' => array('type' => 'text', 'null' => true),
					'valor_nominal' => array('type' => 'float', 'null' => true),
					'valor_aquisicao' => array('type' => 'float', 'null' => true),
					'data_aquisicao' => array('type' => 'date', 'null' => true),
					'valor_correcao' => array('type' => 'float', 'null' => true),
					'data_correcao' => array('type' => 'date', 'null' => true),
					'data_prox_correcao' => array('type' => 'date', 'null' => true),
					'valor_avaliacao' => array('type' => 'float', 'null' => true),
					'data_avaliacao' => array('type' => 'date', 'null' => true),
					'valor_residual' => array('type' => 'float', 'null' => true),
					'valor_depreciavel' => array('type' => 'float', 'null' => true),
					'valor_depreciacao_mes' => array('type' => 'float', 'null' => true),
					'valor_depreciacao_acumulada' => array('type' => 'float', 'null' => true),
					'tipo_bem' => array('type' => 'string', 'null' => true, 'length' => 1),
					'estadoconservacao_id' => array('type' => 'integer', 'null' => true),
					'situacao_bem' => array('type' => 'integer', 'null' => true),
					'data_tombamento' => array('type' => 'date', 'null' => true),
					'data_baixa' => array('type' => 'date', 'null' => true),
					'data_contabil_baixa' => array('type' => 'date', 'null' => true),
					'moeda_aqusicao' => array('type' => 'integer', 'null' => true),
					'em_inventario' => array('type' => 'boolean', 'null' => true),
					'produto_id' => array('type' => 'integer', 'null' => false),
					'contacontabil_id' => array('type' => 'integer', 'null' => false),
					'fornecedor_id' => array('type' => 'integer', 'null' => false),
					'fabricante_id' => array('type' => 'integer', 'null' => true),
					'userinc' => array('type' => 'integer', 'null' => true),
					'datainc' => array('type' => 'datetime', 'null' => true),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'conta_contabils' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'descricao' => array('type' => 'text', 'null' => false),
					'vida_util' => array('type' => 'integer', 'null' => true),
					'taxa_residual' => array('type' => 'float', 'null' => true),
					'userinc' => array('type' => 'integer', 'null' => false),
					'datainc' => array('type' => 'datetime', 'null' => false),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'fabricantes' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'fabricante' => array('type' => 'text', 'null' => true),
					'userinc' => array('type' => 'integer', 'null' => true),
					'datainc' => array('type' => 'datetime', 'null' => true),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'fornecedors' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'cnpj' => array('type' => 'text', 'null' => true),
					'razao_social' => array('type' => 'text', 'null' => true),
					'nome_fantasia' => array('type' => 'text', 'null' => true),
					'userinc' => array('type' => 'integer', 'null' => true),
					'datainc' => array('type' => 'datetime', 'null' => true),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'produtos' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'descricao' => array('type' => 'text', 'null' => false),
					'userinc' => array('type' => 'integer', 'null' => true),
					'datainc' => array('type' => 'datetime', 'null' => true),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
				'unidades' => array(
					'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 11, 'key' => 'primary'),
					'descricao' => array('type' => 'text', 'null' => true),
					'userinc' => array('type' => 'integer', 'null' => false),
					'datainc' => array('type' => 'datetime', 'null' => false),
					'useralt' => array('type' => 'integer', 'null' => true),
					'dataalt' => array('type' => 'datetime', 'null' => true),
					'user_id_responsavel' => array('type' => 'integer', 'null' => true),
					'sigla' => array('type' => 'text', 'null' => true),
					'indexes' => array(
						'PRIMARY' => array('unique' => true, 'column' => 'id'),
					),
					'tableParameters' => array(),
				),
			),
		),
		'down' => array(
			'drop_table' => array(
				'acos', 'aros', 'aros_acos', 'bem_patrimonials', 'conta_contabils', 'fabricantes', 'fornecedors', 'produtos', 'unidades'
			),
		),
	);

/**
 * Before migration callback
 *
 * @param string $direction, up or down direction of migration process
 * @return boolean Should process continue
 * @access public
 */
	public function before($direction) {
		return true;
	}

/**
 * After migration callback
 *
 * @param string $direction, up or down direction of migration process
 * @return boolean Should process continue
 * @access public
 */
	public function after($direction) {
		return true;
	}
}
